<?php

/**
 * Sluzby presenter.
 */
class SluzbyPresenter extends BasePresenter
{
    public function renderOceneniNemovitosti(){
        
    }   
    
    public function renderNabidkaPoptavka(){
        
    }   
    
    public function renderZavolameVam(){
        
    }
       
    protected function createComponentPricingForm() {
        $form = new NAppForm();
        
        $form->addText("name", "Jméno a příjmení")
                ->setRequired("pole je povinné");
        $form->addText("phone", "Telefon")
                ->setRequired("pole je povinné")
                ->addRule(NForm::PATTERN, "neplatný formát telefoního čísla", "^(\+420)? ?[0-9]{3} ?[0-9]{3} ?[0-9]{3}$");
        $form->addText("email", "E-mail")
                ->addCondition(NForm::FILLED)
                ->addRule(NForm::EMAIL, "neplatný formát e-mailové adresy");
        $form->addTextArea("message", "Zpráva")
            ->setRequired("vložte zprávu");
        $form->addSubmit("send", "Odeslat");
        
        $form->onSuccess[] = $this->pricingFormSubmitted;
        
        return $form;
    }
    
    /**
     *
     * @param NAppForm $form 
     */
    public function pricingFormSubmitted($form) {
        $values = $form->getValues();
        
        $message = "OSOBNÍ INFORMACE\n"
                 . $values["name"] . "\n"
                 . "telefon: " . $values["phone"] . "\n"
                 . "e-mail: " . (empty($values["email"]) ? "nezadáno" : $values["email"]) . "\n\n"
                 . "ZPRÁVA OD KLIENTA\n"
                 . $values["message"];
        
        $mail = new NMail();
        $mail->setFrom("no-replay@vaserealitycz.cz")
                ->addTo("info@vaserealitycz.cz")
                ->setSubject("Oceneni nemovitosti")
                ->setBody($message)
                ->send();
        $this->flashMessage("Vaše zpráva byla odeslána.");
        $this->redirect("this");
    }
    
    
    
    protected function createComponentOfferDemandForm() {
        $form = new NAppForm();
        
        $form->addText("name", "Jméno a příjmení")
                ->setRequired("poje je povinné");
        $form->addText("phone", "Telefon")
                ->setRequired("pole je povinné")
                ->addRule(NForm::PATTERN, "neplatný formát telefoního čísla", "^(\+420)? ?[0-9]{3} ?[0-9]{3} ?[0-9]{3}$");
        $form->addText("email", "E-mail")
                ->addCondition(NForm::FILLED)
                ->addRule(NForm::EMAIL, "neplatný formát e-mailové adresy");
        
        $form->addRadioList("type", "Nabídka/poptávka", 
                array("offer" => "nabídka", "demand" => "poptávka")
                )->setDefaultValue("offer");
        $form->addText("estate_type", "Typ nemovitosti")
                ->setRequired("poje je povinné");
        $form->addText("location", "Lokalita")
                ->setRequired("poje je povinné");
        $form->addText("price", "Cena")
                ->setRequired("poje je povinné");
            
        $form->addTextArea("message", "Zpráva");
        $form->addSubmit("send", "Odeslat");
        
        $form->onSuccess[] = $this->offerDemandFormSubmitted;
        
        return $form;
    }
    
    /**
     *
     * @param NAppForm $form 
     */
    public function offerDemandFormSubmitted($form) {
        $values = $form->getValues();
        
        $message = "OSOBNÍ INFORMACE\n"
                 . $values["name"] . "\n"
                 . "telefon: " . $values["phone"] . "\n"
                 . "e-mail: " . (empty($values["email"]) ? "nezadáno" : $values["email"]) . "\n\n"                 
                 . ($values["type"] == "offer" ? "NABÍDKA NEMOVITOSTI" : "POPTÁVKA") . "\n"
                 . "typ nemovitosti: " . $values["estate_type"] . "\n"
                 . "lokalita: " . $values["location"] . "\n"
                 . "cena: " . $values["price"];
        if (!empty($values["message"])) {
            $message .= "\n\n"
                      . "ZPRÁVA OD KLIENTA\n"
                      . $values["message"];
        }
        
        $mail = new NMail();
        $mail->setFrom("no-replay@vaserealitycz.cz")
                ->addTo("info@vaserealitycz.cz")
                ->setSubject($values["type"] == "offer" ? "Nabidka nemovitosti" : "Poptavka")
                ->setBody($message)
                ->send();
        $this->flashMessage("Vaše zpráva byla odeslána.");
        $this->redirect("this");
    }
    
    
    
    protected function createComponentCallYouForm() {
        $form = new NAppForm(); 
        $form->addText("phone", "Telefon")
                ->setRequired("pole je povinné")
                ->addRule(NForm::PATTERN, "neplatný formát telefoního čísla", "^(\+420)? ?[0-9]{3} ?[0-9]{3} ?[0-9]{3}$");        
        $form->addTextArea("message", "Zpráva");
        $form->addSubmit("send", "Odeslat");
        
        $form->onSuccess[] = $this->callYouFormSubmitted;
        
        return $form;
    }
    
    /**
     *
     * @param NAppForm $form 
     */
    public function callYouFormSubmitted($form) {
        $values = $form->getValues();
        
        $message = "Klient s telefoním číslem " . $values["phone"] . " si přeje být kontaktován.";
        
        if (!empty($values["message"])) {
        $message .= "\n\n"
                      . "ZPRÁVA OD KLIENTA\n"
                      . $values["message"];
        }
        
        $mail = new NMail();
        $mail->setFrom("no-replay@vaserealitycz.cz")                
                ->addTo("info@vaserealitycz.cz")
                ->setSubject("Zavolame Vam")
                ->setBody($message)
                ->send();
        $this->flashMessage("Vaše zpráva byla odeslána.");
        $this->redirect("this");
    }
}
